<?php
namespace Modules\ShopAdmin\Http\Controllers\v1;
use Illuminate\Http\Request;
use Modules\AuthAdmin\Http\Requests\CommonIdRequest;
use Modules\ShopAdmin\Models\ShopOrder as ShopOrderModel;
use Modules\ShopAdmin\Models\ShopOrderComplain as ShopOrderComplainModel;
class OrderController extends CommonController
{ 
	/**
	 * @name  订单列表
	 * @method  GET	
	 * @param  page int 页码
	 * @param  pagesize int 每页条数
	 * @param  key string 收货人名称			
	 * @param  user_phone string 收件人手机			
	 * @param  order_no string 订单号			
	 * @param  status int 订单状态：1=待付款（可取消订单），2=待发货，3=待收货，4=待评价，5=订单已取消，6=申诉中，7=申诉失败，8=申诉完成，9=已完成（可申诉）	
	 * @param  pay_time string 付款时间	
	 * @param  delivery_time string 发货时间	
	 * @return  JSON
	 */
    public function index(Request $request)
    {
		return (new ShopOrderModel())->list_data($request->all());
    }
	/**
	 * @name  编辑地址页面
	 * @method  GET	
	 * @param  id int 订单id	
	 * @return  JSON
	 */
    public function edit_address(CommonIdRequest $request)
    {
		return (new ShopOrderModel())->edit_address($request->get('id'));
    }
	/**
	 * @name  编辑地址提交
	 * @method  PUT	
	 * @param  id int 订单id	
	 * @param  user_name string 收货人名称	
	 * @param  user_address string 收件人地址	
	 * @param  user_phone string 收件人手机	
	 * @param  province_id int 省ID	
	 * @param  province_name string 省名称	
	 * @param  city_id int 市ID	
	 * @param  city_name string 市名称	
	 * @param  county_id int 区/县ID	
	 * @param  county_name string 区/县名称	
	 * @return  JSON
	 */
    public function edit_update(Request $request)
    {
		return (new ShopOrderModel())->edit_update($request->all());
    }
	/**
	 * @name  发货
	 * @method  PUT	
	 * @param  id int 订单id
	 * @return  JSON
	 */
    public function status(CommonIdRequest $request)
    {
		return (new ShopOrderModel())->order_status($request->get('id'));
    }
	/**
	 * @name  订单详情
	 * @method  GET	
	 * @param  id int 订单id
	 * @return  JSON
	 */
    public function order_detail(CommonIdRequest $request)
    {
		return (new ShopOrderModel())->order_detail($request->get('id'));
    }
	/**
	 * @name  申诉记录
	 * @method  GET	
	 * @param  id int 订单id
	 * @param  page int 页码
	 * @param  pagesize int 每页条数			
	 * @param  status int 申诉状态：0=申诉中，1=通过，2=驳回	
	 * @param  created_at string 申诉时间	
	 * @param  updated_at string 处理时间
	 * @return  JSON
	 */
    public function order_complain_list(Request $request)
    {
		return (new ShopOrderComplainModel())->order_complain_list($request->all());
    }
	/**
	 * @name  通过/驳回
	 * @method  PUT	
	 * @param  id int 申诉id
	 * @param  return_content string 申诉结果
	 * @param  status int 申诉状态：1=通过，2=驳回
	 * @return  JSON
	 */
    public function order_complain(Request $request)
    {
		return (new ShopOrderComplainModel())->order_complain($request->all());
    }
	/**
	 * @name  退款页面
	 * @method  GET	
	 * @param  id int 订单id
	 * @return  JSON
	 */
    public function order_refund_info(CommonIdRequest $request)
    {
		return (new ShopOrderModel())->order_refund_info($request->get('id'));
    }
	/**
	 * @name  退款数据处理
	 * @method  PUT	
	 * @param  id int 订单id
	 * @param  refund_comment string 退款备注
	 * @param  refund_money float 退款金额
	 * @return  JSON
	 */
    public function order_refund(Request $request)
    {
		return (new ShopOrderModel())->order_refund($request->all());
    }
	/**
	 * @name  微信退款回调
	 * @method  PUT	
	 */
    public function refund(Request $request)
    {
		return (new ShopOrderModel())->refund();
    }
}
